package com.cc8w.service;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;

import org.springframework.stereotype.Service;


/**
 * 客户端实现步骤
 * 1.定义发送信息（发送地址，端口号，信息）
 * 2.创建DatagramPacket,包含要发送的信息
 * 3.创建DatagramSocket
 * 4.发送数据
 *
 */
@Service
public class UDPClientService {


	public void createUDPClient(){
		try {
			/**
			 * 向服务器端发送数据
			 */
			//1.定义服务端地址，端口号，数据
			InetAddress address = InetAddress.getByName("localhost");
			int port = 8800;
			byte[] data = "我客户端发了用户名admin 密码 admin".getBytes();
			//2.创建数据报,包括发送的数据信息
			DatagramPacket packet = new DatagramPacket(data, data.length, address, port);
			//3.创建DatagramSocket对象,进行数据的发送
			DatagramSocket socket = new DatagramSocket();
			//4.向服务端发送数据报
			socket.send(packet);
			
			/**
			 * 接收服务端发送的数据
			 */
			
			//1.创建数据报,用于接收服务端数据
			byte[] data2 = new byte[1024];
			DatagramPacket packet2 = new DatagramPacket(data2,data2.length);
			//2.接收服务器响应的数据
			socket.receive(packet2);
			//3.读取数据
			String reply = new String(data2,0,packet2.getLength());
			System.out.println("client: 服务端返回的信息-> " + reply);
			//4.关闭资源
			socket.close();
			
	
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

	}
}
